import java.io.IOException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        ImageManager manager = new ImageManager();
        int choice = 0;
        do {
            System.out.println("=== 图片下载系统 ===");
            System.out.println("1. 下载图片");
            System.out.println("2. 查看所有图片");
            System.out.println("3. 搜索图片");
            System.out.println("4. 退出");
            System.out.print("请选择：");

            // 安全读取整数
            if (!sc.hasNextInt()) {
                System.out.println("请输入有效的数字！");
                sc.nextLine(); // 清除无效输入
                continue;
            }
            choice = sc.nextInt();
            sc.nextLine(); // 消耗掉行尾的回车符，防止 nextLine() 被跳过

            switch (choice) {
                case 1 -> {
                    System.out.print("请输入要获取图片的url: ");
                    String url = sc.nextLine();
                    manager.downloadImage(url);
                }
                case 2 -> {
                    manager.listImages();
                }
                case 3 -> {
                    System.out.print("请输入你想要搜索的图片的文件名（包括后缀名）：");
                    String name = sc.nextLine();
                    String savePath = manager.searchImages(name);
                    System.out.println("你所搜索的图片 " + name + " 地址为: " + savePath);
                }
                case 4 -> System.out.println("程序关闭");
                default -> System.out.println("输入错误，请重试！");
            }
        } while (choice != 4);

        sc.close();
    }
}